package cz.tpj.database.aktivity;

import cz.tpj.util.Validation;
import cz.tpj.util.ErrorDatabase;

/**
*
* 
* Slouží jako přepravka. Třída je koncipována podle databázové tabulky Aktivita.
* @author jabo
*/

public class Aktivita {
    private String id;
    private String nazov;

    //---------------------------konstruktory-----------------------------------
    
    /**
     * konstruktor triedy Aktivita, vytvori instanciu triedy Aktivita podla zadanych
     * parametrov
     * 
     * @param Id (smallint 0 az 32767)
     * @param Nazov (varchar[45])
     */
    
    public Aktivita (String Id, String Nazov) {
        this.id = Id;
        this.nazov = Nazov;        
    }
    
    
    //----------------------------metody----------------------------------------

    /**
     * nastaví hodnotu Id (id aktivity)
     * @param  hodnota, ktorú chceme nastaviť pre Id (číslo od 0 po 8388607)
     */
    
    public void setId (String Id) throws ErrorDatabase  {
        Validation val = new Validation();
        this.id = val.validatedNumber("Id", Id, 0, 8388607);
    }
    
    /**
     * vráti hodnotu Id (id aktivity)
     * @return hodnota Id (smallint 0 az 32767)
     */
    
    public String getId() {
        return this.id;
    }
    
    /**
     * nastaví nazov aktivity (varchar[45])
     * @param  hodnota, ktorú chceme nastaviť pre názov (reťazec maximálne 45 znakov)
     */
    
    public void setNazov(String Nazov) throws ErrorDatabase  {
        Validation val = new Validation();
        this.nazov = val.validatedString("Nazov", Nazov, 0, 45);
    }
    
    /**
     * vráti nazov akcie  (varchar[45])
     * @return hodnota nazov
     */    
    
    public String getNazov () {
        return this.nazov;
    }
    
    /**
     * Dostava jako argument pole retezcu. Kazdy retezec v poli je ID jedne vybrane aktivity. Porovna jestli
     * je tato v tomto poli vybranych aktivit.
     * @return boolean - je vybrana tato aktivita?
     */
    public boolean imSelected(String[] selectedActivities){
    	//jestlize jsou vybrane aktivity null pak skonci
    	if(selectedActivities == null)
    		return false;
    	//
    	String idAct;
    	for(int i=0; i<selectedActivities.length; i++){
    		idAct = selectedActivities[i];
    		if(id.equals(idAct)){
    			return true;
    		}
    	}
    	return false;
    }
}
